home *** CD-ROM | disk | FTP | other *** search
- Bekannte Fehler:
- ================
-
-
- Änderungen:
- ===========
-
- 12.7.90
- - Laderfunktionen EMIT, KEY und KEY? auf BIOS umgestellt
- - Laderfunktionen müssen Register d0-d7/a0-a5 retten.
- - EXIT geändert, funktionierte nicht
-
- 22.7.90
- - Lader übergibt zusätzlich Zeiger auf Tabelle mit den
- Startblöcken der einzelnen Geräte für R/W. Auf diese Tabelle wird
- von F68K mit ROOTTABLE zugegriffen.
- - Wenn WARNING eingeschaltet wird, wird nicht mehr mit FIND,
- sondern mit VOCSEARCH nur noch das CURRENT-Vokabular durchsucht.
- - ?LEAVE aus dem Kernel entfernt
- - Lader stellt Floatstack nicht mehr zur Verfügung.
-
- 6.8.90
- - DEFER im Kern geändert. Jetzt auch ROMfähig.
- - BLOCK defered, mit (BLOCK vorbesetzt
- - PAUSE eingeführt (defered), mit NOOP vorbesetzt
-
- 3.9.90
- - LOAD defered, mit (LOAD vorbesetzt
- - (LOAD führt BLOCK nicht mehr aus, sondern setzt nur BLK
- - SOURCE führt nicht mehr BLOCK, sondern (BLOCK aus
-
- 28.9.90
- - Aufrufe der Laderfunktionen sichern Register selbst. Laderfunktionen
- müssen Stack nicht mehr selbst korrigieren.
-
- 16.10.90
- - USER-Variable CAPS eingeführt, die angibt, ob in NAME CAPITALIZE
- ausgeführt werden soll.
- - Fehler in BLOCK beseitigt. Wenn der Block nicht gelesen werden kann,
- ist der Stack sauber.
- - Wie LOAD und BLOCK ist jetzt auch BUFFER deferred und mit
- (BUFFER vorbesetzt.
- - Empfehlung aus Berlin, USER-Variablen über off(DT,us.l) zu adressieren
- wurde geprüft. Geht nicht, da off nur 8 Bit breit sein darf.
-
-
- 17.10.90
- - Fehlerhaftes 'C,' korrigiert. Hatte zuvor den DP um 2 erhöht.
-
- 27.1.91
- - Kernel und Lader geändert. I/O-Funktionen übergeben Parameter jetzt
- auf dem Returnstack, um mit C besser konform zu sein.
-
- 14.2.91
- - Fehlerhaftes FLIT korrigiert
-
- 19.2.91
- - VALUE, LOCAL und TO in den Kern übernommen. (ANSI!)
-
- 19.5.91
- - BEXTEND und BREDUCE korrigiert!
-
- 19.5.91
- - OSEXPECT korrigiert. Jetzt kein Backspace über dn linken Rand mehr möglich.
- Abschließendes NULL-Byte ist verschwunden. Wenn EXPECT direkt mit <Return>
- beendet wird, bleibt der Puffer unberührt!
-
- 19.5.91
- - R> und >R sind nicht mehr restrict.
-
- 3.6.91
- - Vergeleiche(0=,<, etc.) beschleunigt
-
- 4.6.91
- - Kontrollstrukturen den gängigen Gepflogenheiten angepaßt:
-
- BEGIN ... AGAIN
- BEGIN ... WHILE ... REPEAT
- BEGIN ... WHILE ... WHILE ... (WHILE) ... REPEAT THEN (THEN)
- BEGIN ... WHILE ... AGAIN THEN
- BEGIN ... UNTIL
- BEGIN ... WHILE ... UNTIL THEN (! von dpANS nicht vorgesehen !)
- BEGIN ... WHILE ... WHILE ... (WHILE) ... UNTIL THEN THEN (THEN)
-
- 4.6.91
- - C-Lader wegen fehlerhafter oder fehlender Bibliotheken jetzt in Turbo-C.
- Sozobon ist damit Mega-OUT.
-
-
- 12.6.91
- - WICHTIGE LADER-KERNEL-ÄNDERUNG:
- Der Lader übergibt nicht mehr alle Parameter einzeln, sondern faßt diese
- in einem Parameterfeld zusammen, das F68K dann übergeben wird.
- In diesem Parameterfeld ist Platz für einen kompletten Registersatz,
- der von F68K bei deer Initialisierung dort abgelegt wird. Damit hat
- der Lader vollständigen Zugriff auf seine eigene Laufzeitumgebung, wenn
- er beim I/O aufgerufen wird.
-
- 12.6.91
- - READSYS un WRITESYS werden jetzt auch wie schon KEY, EMIT, etc. nicht
- mehr direkt, sondern in den Tabellen READSYSES und WRITESYSES übergeben.
-
- 12.6.91
- - Die Adressen in den Tabellen KEYS, KEY?S, EMITS, R/WS, READSYSES und
- WRITESYSES werden bei der Initialisierung nicht mehr in relative
- F68K-Adressen umgesetzt, da sie ohnehin nicht direkt via EXECUTE ausgeführt
- werden dürfen, sondern immer etwas Interfacing durch KEY, KEY?, EMIT, R/W,
- READSYS und WRITESYS brauchen! Also:
-
- (KEY) @ EXECUTE
-
- ist verboten!!!!
-
- 12.6.91
- - Aufgrund der obigen Änderung wurden (KEY) etc. in ^KEY etc. umbenannt.
-
- 12.6.91
- - Es wird vom Assembler kein Standard-GEMDOS-Header mehr erzeugt.
- Stattdessen, erzeugt der Assembler den dokumentierten Header selbst. In den
- ersten zwei Byte, in der alten Doku als 'jump' bezeichnet, steht aber jetzt
- 'JP' (was das bloß heißen soll?), was vom Lader als Magic-Number geprüft
- werden kann. SAVE wurde dementsprechend bereits geändert.
-
-
- 12.6.91
- - VER eingeführt. VER liefert das datum der Kernelversion im amerikanischen
- Datumsformat Monat-Tag-Jahr in BCD-Darstellung. Wenn also der Kern z.B. vom
- 12.6.91 ist erhält man:
- HEX VER . --> 61291
-
-
- 13.6.91
- - Lader kommt nun auch mit Diskettenwechseln im Laufwerk A: klar. Vorher
- aber CHANGEMEDIUM oder CM nicht vergessen!!
-
-
- 14.6.91
- - VER noch einmal geändert. Es liefert jetzt eine BCD-Zahl, die das Datum
- in der Reihenfolge Jahr-Monat-Tag enthält. Damit kann man mit > und < die
- Versionsdaten vergleichen (oder?).
- 14.6.91: 19910614
-
-
- 14.6.91
- - USE des FIFI durch ein viiiel einfacheres ersetzt. es existiert nun ein
- Stream USESTREAM, der von dem Blockstream, der durch USE ausgewählt wird,
- belegt wird. USE ist damit auch kein definierendes Wort mehr.
-
-
- 20.6.91
- - INTERPRET umgestellt. Es führt jetzt nach 'NAME NULLSTR? IF EXIT THEN'
- das DEFER-Wort PARSER in seiner Schleife aus. PARSER kann mit
- INTERPRETER oder COMPILER besetzt sein. '[' und ']' schalten den
- PARSER-Vektor um:
- : [ 0 STATE ! ['] INTERPRETER IS PARSER ;
- : ] -1 STATE ! ['] COMPILER IS PARSER ;
-
-
- 26.6.91
- - LOCALs im Kern allozieren jetzt den Platz für den Zeiger auf die Daten
- im Datensegment. Dadurch entsteht zwar eine Indirektion beim Zugriff
- mehr, dafür ist das Codesegment aber wieder ROM-fähig
-
- - Fehler in DIGIT? beseitigt. @@@@ ist jetzt nicht mehr &9999.
-
-
- 31.7.91
- - in CLEAR-BUFFER Löschen der Variablen LASTBLK hinzugefügt, die die
- Nummer des zuletzt benutzten Blocks enthält um (BLOCK z.B. für
- LOAD etwas zu beschleunigen.
-
-
- 10.8.91
- - DODEFER, die DEFER Laufzeitroutine, erneut geändert, da sie nicht
- funktionierte. Damit verbunden wurde auch ein 'R>->R'-Päärchen
- aus AFTER_LOAD: in RAW.SCR entfernt.
- - Wirkung von LASTBUF und LASTBLK in (BLOCK ausgeschaltet, da sie zu
- Inkonsistenzen führte.
- - AGAIN sichtbar gemacht. Der Header hatte gefehlt.
- - UNLOOP eingeführt:
- ... DO ... IF UNLOOP EXIT THEN ... LOOP ...
-
-
- 11.8.91
- - CHAR und [CHAR] in den Kernel übernommen. Alle Quellen
- angepasst. ASCII taucht nicht mehr auf.
- - CELLS, CELL+, CHARS, CHAR+ in den Kernel aufgenommen.
- Einige '4+' in CELL+ gewandelt.
-
-
- 18.8.91
- - DEVICE1.SCR verkleinert und in DEV.SCR umbenannt, damit es besser
- auf eine Standarddiskette passt.
- - (KEY), (EMIT), (KEY?), (R/W), (READSYS) und (WRITESYS) wieder
- eingeführt, um Vektorisierund aud High Level zu ermöglichen.
- Die Vektoren sind mit LOADERKEY, LOADEREMIT ... usw. vorbesetzt.
- Diese wiederrum werten die Vektoren ^KEY, ^EMIT ... usw. aus.
- In diesen Uservariablen können die Funktionsadressen aus den
- Tabellen KEYS, EMITS ... usw. stehen. Damit hat man eine
- zweistufige Vektorisierung.
- - kleine Schönheitkorrekturen am Lader.
-
-
- 21.8.91
- - >R und R> sind aufgrund der neuen Interpreterstruktur wieder
- restrict.
-
- ??.??.??
- - Fehler im Blockstreamsystem beseitigt. Filenamen werden vor ihrer
- Bearbeitung nach HERE kopiert, da kompilierte Filenamen zu
- ROO-Code (Run Once Only) geführt haben.
-
-
- 19.9.91
- - PUSH, SAVEAREA und EVALUATE dem Kernel zugefügt.
-
-
- 21.9.91
- - Fehler in BUSE korrigiert. Bei 'nicht gefunden' wurde ein Wert
- zu wenig abgeräumt: NIP ---> NIP NIP
- - Schönheitskorrekturen 4 <--> CELL
- - PUSH aus Highlevel-Quellen auskommentiert.
- - kleine Fehler in ANS-LOCALS und ANS-LOCALS_(TO) korrigiert, die
- durch Übernahme von LOCAL in den Kernel entstanden sind.
- - Optimierungen im Kernel:
- bsr --> bsr.s
- jsr --> bsr(.s)
- - FENCE keine USER-Variable mehr.
- - Fehler in PWD korrigiert. Es blieb ein Wert (directory @) auf
- dem Stack liegen.
-
- 23.9.91
- - Fehler in DIR beseitigt. Wenn Zeilverzeichnis nicht gefunden wurde,
- blieb ein Wert auf dem Stack liegen.
- - SAVE korrigiert. Flags von WRITESYS wurden nicht entfernt.
- - SAVE in SAVE-SYSTEM umbenannt.
- - BRANCH und ?BRANCH zwecks gesteigerter Kompatibilität zu anderen
- Systemen (bigForth, ForthMacs) jetzt IMMEDIATE. Dadurch Änderungen in
- CASE und UCS (POSTPONE).
-
-
-
- 4.10.91
- - Disassembler von Reinhard Scharnagl provisorisch aufgenommen
- - ANSI-Worte BL, 2DROP, 2DUP, 2OVER und 2SWAP in den Kernel aufgenommen
-
- 14.11.91
- - Beim Aufruf der Laderfunktionen wird als unterster Wert auf dem
- (Return-)Stack die absolute Adresse des FORTHPARAS-Struktur mit an
- den Lader übergeben. Damit sollte jeder Lader in der Lage sein, seine
- eigene laufzeitumgebung wiederherzustellen
- - FIND ist DEFERed und mit (FIND vorbesetzt
-
-
- 19.11.91
- - VOC' und [VOC'] eingeführt, um Vokabularadressen festzustellen
- (z.B. für VOCSEARCH)
- - Blockstream SYSTEM/TERMINAL angelegt, in dem einige einfache
- Zeichenfunktionen definiert sind. Darunter sind die Variablen ROWS
- und COLUMNS, die die Terminalausmasse enthalten. Ausgebende Funktionen
- sollten sich daran orientieren.
- - .LAST repariert
-
-
- 31.1.92
- - F-EDIT Editor von Markus Redeker fest ins System aufgenommen.
- - neue Anpassung STANDARD-EDIT für F-EDIT erstellt
- - F-EDIT ist in /SYSTEM/F-EDIT und wird von /SYSTEM/LOADME
- in der Form STANDARD-EDIT mit eingebunden
- - STAMP in F-EDIT geändert. Die ID wird nun mit einem Zeichen
- Abstand vom rechten Rand in den Block eingefügt. Daduch bleibt
- eine dort mögliche ')' als Kommentarzeilenende erhalten.
- - ATARI-EDIT korrigiert 2069 statt 2096 (oder umgekehrt?)
- - TOS-Ordner OLDSRC angelegt, in dem alte Sourcen weiterhin
- mit ausgeliefert werden.
- - alten Editor FULLSCREEN-EDITOR in die Datei OLDSRC/EDITOR.EXP
- exportiert und /SYSTEM/FULLSCREEN-EDITOR gelöscht.
-
-
- 01.04.92
- - UNLOOP korrigiert. Bernd Paysan hat entdeckt, daß die
- Register D6/D7 nicht ordnungsgemäß restauriert wurden.
-
-
-
- 18.04.92
- - CASE-Konstruktion, wie sei beim LMI-System vorkommt, ins
- /SYSTEM-Verzeichnis übernommen. Wird standardmäßig mitgeladen.
- Vorsicht mit dem alten CASE in /UTILITY/CASE!!
- - Disassembler aus dem /SYSTEM-Verzeichnis entfernt und
- ind /UTILITY-Verzeichnis verlegt. Ein Disassembler ist
- nicht umbedingt Systembestandteil
- - 'ß' aus dem Disassembler entfernt und durch '&' ersetzt.
- Manche Terminals machen mit dem 'ß' Schwierigkeiten
-
-
- 20.4.92
- - .R aufgepäppelt. Stammte noch aus FFORTH-Zeiten und funktionierte
- nicht so richtig (vorzeichenlos, führende Nullen)
-
-
- 21.4.92
- - CASE in /SYSTEM/CASE 'ansikonformisiert'. Der Vergleichsparameter
- wird auf dem Datenstack, nicht auf dem Returnstack geführt.
- - in Floatanbindung /UTILITY/FLOAT/FLOAT-BINDING die neue Version
- des CASE eingesetzt. Den alten CASE-Quelltext /UTILITY/CASE nach
- oldsrc\case.exp exportiert und im FIFI gelöscht.
-
-
-